﻿using Abp;
using Mt.Site.Core.ContentManagement.Values;
using Mt.Site.Core.CustomConfigurations;
using Mt.Site.Core.Navigations;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Mt.Site.Core.ContentManagement
{
    public interface IMenuContentHelper
    {
        ICustomConfigManager CustomConfigManager { get; }

        /// <summary>
        /// 取栏目的路径（从一级栏目到当前栏目的名字）
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        Task<List<string>> GetMenuPathAsync(MenuIdTraceCacheItem item);

        Task<List<MenuSampeInfo>> GetAllMenusByCustomKeyAsync(string customKey, string moduleName);

        Task<string> GetModuleCustomData(long menuId);

        Task<ContentConfig> GetConfig(string customKey, long menuId);

        Task<ContentConfig> GetConfig(string customKey);

        Task<string> GetCustomKey(string customKey, long menuId);
    }
}
